A Semantic Difference Algorithm for Structured Visual Dataflow Programs

نویسندگان

  • Philip T. Cox
  • Tuan Ahn Dang
  • Tuan Anh Dang
چکیده

The diff utility is an important basic tool, providing a foundation for many of the fundamental practices of software development, such as source code management. While there are many file differencing tools for textual programming languages, including some that look at more than simple textual variations, there are few for visual programming languages. We present an algorithm for semantic comparison of programs in controlled visual dataflow languages; that is, languages in which dataflow diagrams are embedded in control structures. This algorithm performs depth-first search of call structures, comparing embedded diagrams using a graph matching algorithm such as subgraph isomorphism, to determine if two programs are semantically equivalent, and if they are not, discovers the differences. We use the visual language Prograph for illustration; however, the mechanism we propose could be applied to any controlled dataflow language, such as LabVIEW. Results are reported of experiments in which the algorithm is applied to large code samples.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Structured Approach to Proving Compiler Optimizations Based on Dataflow Analysis

This paper reports on the correctness proof of compiler optimizations based on data-flow analysis. We formulate the optimizations and analyses as instances of a general framework for data-flow analyses and transformations, and prove that the optimizations preserve the behavior of the compiled programs. This development is a part of a larger effort of certifying an optimizing compiler by proving...

متن کامل

Minimizing memory requirements for chain-structured synchronous dataflow programs

This paper addresses trade-offs between the minimization of program memory and data memory requirements in the compilation of dataflow programs for multirate signal processing. Our techniques are specific to the synchronous dataflow (SDF) model [6], which has been used extensively in software synthesis environments for DSP; see for example [7][8]. We focus on programs that are represented as ch...

متن کامل

Abstract Semantic Diffing of Evolving Concurrent Programs

Semantic Diffing of Evolving Concurrent Programs Ahmed Bouajjani, Constantin Enea, and Shuvendu Lahiri 1 IRIF, Univ. Paris Diderot, {abou,cenea}@irif.fr 2 Microsoft Research, [email protected] Abstract. We present an approach for comparing two closely related concurrent programs, whose goal is to give feedback about interesting differences without relying on user-provided assertions. This ...

متن کامل

The Effect of Using Visual Aids, Semantic Elaboration, and Visual Aids plus Semantic Elaboration on Iranian Learners' Vocabulary Learning

This study investigated the effect of using visual aids, semantic elaboration, and visual aids plus semantic elaboration on the Iranian EFL learners' vocabulary learning. To conduct the study, the researchers assigned 49 elementary learners to three homogeneous groups according to their proficiency level. Then, a pre-test of Paribakht and Wesche's Vocabulary Knowledge Scale was given to each gr...

متن کامل

Fault-Tolerant Dynamic Task Scheduling Based on Dataflow Graphs

This paper describes a distributed algorithm for scheduling parallel programs represented by (macro-) dataflow graphs on multicomputer systems such that they are executed in a fault-tolerant way. Fault tolerance is based on dynamic redundancy comprising checkpointing, self-diagnosis and rollback recovery. The schedule is computed dynamically during the runtime of the process system. It works in...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011